/*
 * GuudBitSet.h
 *
 *  Created on: 2013-1-19
 *      Author: heqiu
 */

#ifndef GUUDBITSET_H_
#define GUUDBITSET_H_

#include <stdint.h>
#include <bitset>

namespace guud {

class GuudBitSet {
public:
	GuudBitSet();
	~GuudBitSet();
	//初始化bitset大小,默认属性 bFlag
	void init(uint32_t uiSize, bool bFlag = false);
	//设置对应位置 真假 值
	bool setBit(uint32_t uiPos, bool bFlag);
	//获取对应位置 真假 值,超出范围的返回默认值
	bool getBit(uint32_t uiPos);
	//重置所有位属性
	void reset(bool bFlag = false);
private:
	uint32_t m_uiSize;
	std::bitset<64> * m_pArray;
	bool m_bFlag;
};

}

#endif /* GUUDBITSET_H_ */
